{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# chapter 3\n",
    "# 绘制统计图形\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib as mpl\n",
    "import numpy as np\n",
    "mpl.rcParams['font.sans-serif'] = ['SimHei']\n",
    "mpl.rcParams['axes.unicode_minus'] = False"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 多数据堆叠\n",
    "x = [1,2,3,4,5]\n",
    "y1 = [2,4,1,6,3]\n",
    "y2 = [6,2,3,5,1]\n",
    "\n",
    "plt.bar(x,y1,bottom=0,label='class A')\n",
    "plt.bar(x,y2,bottom=y1, label='class B')\n",
    "plt.grid(True, axis='x', ls=':', color='r', alpha=0.3)\n",
    "plt.legend()\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWkAAAD2CAYAAAAUPHZsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAANpElEQVR4nO3df2zU9R3H8de7FtfGuNHgkeGaoyxTNCO4ZAfhR+csjmUkXceyYdDo+JHZiU4jTpbwx/40uCyOGJ2LdZkuZsS4LCbObD3qVnQlgLN/QAwgSueyqiGli2EgJQ7e+4N2K+XgDnrf+75793wkTY773n36/n7VZ75874fm7gIAxFSX9gAAgAsj0gAQGJEGgMCINAAERqQBILD6ci52zTXXeEtLSzmXBICq19/ff9TdM4W2lTXSLS0tevPNN8u5JABUPTP7x4W2cbkDAAIj0gAQGJEGgMDKek0aACTpk08+0eDgoEZGRtIeJZSGhgY1Nzdr2rRpJT+HSAMou8HBQV199dVqaWmRmaU9TgjuruHhYQ0ODmrOnDklP4/LHQDKbmRkRDNmzCDQ45iZZsyYccl/uygp0mb2YzPbbWZ/MrMrL2tCADWFQJ/vco5J0csdZvZ5SV9090Vm9oCkZkkDlz4egFq1tedQWdfbuPz6sq4XWSln0rdKajKz1yV9RdLfkx0JAJJzyy23JLr+wYMHde2115ZtvVJeOMxIGnL3DjPbJalV0l/HNppZp6ROScpms2UbrKx6tyS3dtvm5NZGTSr3WeeYWjr7TFM+n9fQ0JD27dun+fPnT3q9Us6kj0l6e/T2gKTPjd/o7l3unnP3XCZT8KPnAFBRIyMjWr16tRYvXqyOjg6dPHmy4ONOnDihFStWaPHixVq3bp0kaWhoSG1tbVq0aJE2bNhwwfsupLu7W/fdd5+6u7vLsi+lRLpfUm709hfE9WgAwXV1demmm27Srl271NHRoX379hV83Pvvv68NGzaot7dXAwMDOnLkiF5//XXNmzdPu3fv1tKlS3XmzJmC9xVy6tQpDQwM6MEHH1Q+ny/LvhSNtLvvkjRsZn+T9La7v1GW3wwACTl48KAWLlwoSVq/fr1yuVzBxzU0NOj555/XXXfdpY8++kgnT57UihUrJEnt7e06fPiw6urqCt5XyGuvvaZjx45p7dq16u/v14kTJya9LyW9Bc/dN7j7Anf/3qR/IwAk7IYbbtCePXskSY888oieffbZgo975plntHLlSm3btk1XXXWVJGnnzp26/fbb9corr2j79u06fPhwwfsKyefzeuyxx7Rjxw6tWrVKvb29k94XPnEIIHGVftHy7rvv1po1a9Ta2qqZM2dq06ZNBR+3fPly3XPPPXr66adlZvrggw903XXX6c4779SpU6fU3Nys2bNn64orrjjvvkLy+bwefvhhSdKyZcvU3d2t9vb2Se2LufukFhgvl8t5yO+T5t0dmEKq4d0dBw4c0I033lix3zeVFDo2Ztbv7gWvyfCxcAAIjEgDQGBEGgACI9IAEBjv7gCQvHK/eF9DL9hzJg2gpiT5BUtr167V/Pnz1draqttuu02nT5+e9JpEGgDK6KmnnlJfX5+amprU09Mz6fWINICqk+YXLI05evSoGhsbJ70vRBpA1UnrC5Yk6f7779fcuXP14YcfasmSJZPeFyINoOqk9QVLkvTEE0/owIEDWrBggR599NFJ7wuRBlB10vqCpTF1dXWaPn26jh8/Pul94S14AJJX4bfMpfUFS5J07733qrGxUVdeeaW2bds26X0h0gCqTmNjo1588cWC23bs2PG/2zfffLP2799/3mP6+vrO+XNLS8t59xXy3HPPXdKcpeByBwAERqQBJKKcX4NcLS7nmBBpAGXX0NCg4eFhQj2Ou2t4eFgNDQ2X9DyuSQMou+bmZg0ODmpoaCjtUUJpaGhQc3PzJT2HSAMou2nTpmnOnDlpj1EVuNwBAIERaQAIjEgDQGBEGgACI9IAEBiRBoDAiDQABFY00ma2wMwGzaxv9GduJQYDAJT2YZYmSb9090eSHgYAcK5SI/0dM/uWpH9K+q6P+0C+mXVK6pSkbDabyJAAyqB3S3JrV/j7omtJKdek35X0E3dfKGmWpK+O3+juXe6ec/dcJpNJYkYAqFmlnEm/J+mtcbdnJjUMAOBcpZxJPyRptZnVSZqn/wcbAJCwUiL9pKR1kvZIesndz/9/zQAAElH0coe7fyjpluRHAQBMxIdZACAwIg0AgRFpAAiMSANAYEQaAAIj0gAQGJEGgMCINAAERqQBIDAiDQCBEWkACIxIA0BgRBoAAiPSABAYkQaAwIg0AARGpAEgMCINAIERaQAIjEgDQGBEGgACI9IAEBiRBoDAiDQABEakASAwIg0AgZUUaTN7yMxeTXoYAMC5ikbazGZLWlOBWQAAE5RyJv24pM1JDwIAOF/9xTaa2R2S9kraf5HHdErqlKRsNlvW4WrN1p5Dia29cfn1ia0NIDnFzqTbJd0q6QVJXzazH058gLt3uXvO3XOZTCaJGQGgZl30TNrd75AkM2uR9Ct3f7ISQwEAzuIteAAQ2EXPpMe4+3uSvpbsKACAiTiTBoDAiDQABEakASAwIg0AgRFpAAiMSANAYEQaAAIj0gAQGJEGgMCINAAERqQBIDAiDQCBEWkACIxIA0BgRBoAAiPSABAYkQaAwIg0AARGpAEgMCINAIERaQAIjEgDQGBEGgACI9IAEBiRBoDAiDQABEakASCwopE2s3oz+52Z7TSzX1diKADAWaWcSa+UtNfdl0qaZWZfSnQiAMD/1JfwmG5JfzSzeknTJR0bv9HMOiV1SlI2my33fED59G5JZt22zcmsW6O29hxKbO2Ny69PbO2kFD2Tdvfj7v6xpJ2Sjrj7wITtXe6ec/dcJpNJak4AqEmlXJOeYWafkrREUpOZtSU/FgBAKu2a9I8krXL305I+ltSY7EgAgDGlRPoXktab2S5Jw5LyyY4EABhT9IVDd39f0rIKzAIAmIAPswBAYEQaAAIj0gAQGJEGgMCINAAERqQBIDAiDQCBEWkACIxIA0BgRBoAAiPSABAYkQaAwIg0AARGpAEgMCINAIERaQAIjEgDQGBEGgACI9IAEBiRBoDAiDQABEakASAwIg0AgRFpAAiMSANAYEQaAAIrKdJm9hsz221mL5tZfdJDAQDOKhppM2uVVO/uiyR9WtLXE58KACCptDPpI5Iev4THAwDKpOilC3d/R5LM7NuSzkjaPn67mXVK6pSkbDZ72YNs7Tl02c8tZiMXaKTeLcmt3bY5ubWBGlfqNekOSQ9I+qa7/2f8Nnfvcvecu+cymUwSMwJAzSp6jmlmn5W0SdI33P1E8iMBAMaUcia9RtIsSXkz6zOz9QnPBAAYVco16Z9K+mkFZgEATMC7NQAgMCINAIERaQAIjEgDQGBEGgACI9IAEBiRBoDAiDQABEakASAwIg0AgRFpAAiMSANAYEQaAAIj0gAQGJEGgMCINAAERqQBIDAiDQCBEWkACIxIA0BgRBoAAiPSABAYkQaAwIg0AARGpAEgMCINAIERaQAIrKRIm9k0M/tD0sMAAM5VX+wBZtYoaY+k65MfBwAwXtFIu/tJSfPN7N1C282sU1KnJGWz2fJOh5qztedQYmtvLPpvO6pe75bk1m7bnMiyk74m7e5d7p5z91wmkynHTACAUbxwCACBEWkACIxIA0BgJUfa3b+Q5CAAgPNxJg0AgRFpAAiMSANAYEQaAAIj0gAQGJEGgMCINAAERqQBIDAiDQCBEWkACIxIA0BgRBoAAiPSABAYkQaAwIg0AARGpAEgMCINAIERaQAIjEgDQGBEGgACI9IAEBiRBoDAiDQABEakASAwIg0AgRFpAAjsopE2swYze8XM9prZ82ZmlRoMAFD8TPpOSYPufpOkJknLkx8JADCmWKSXSeoZvf0XSW3JjgMAGM/c/cIbzfKSfubur5rZ9yUtcPcfTHhMp6TO0T/OlfR2UsNOcI2koxX6XVHV+jGo9f2XOAZSdRyD2e6eKbShvsgTj0r6zOjtz6jAgXD3LkldkxrvMpjZm+6eq/TvjaTWj0Gt77/EMZCq/xgUu9zxZ0lfH729TFJvsuMAAMYrFunfSvqcme2T9C+djTYAoEIuernD3U9Jaq/QLJeq4pdYAqr1Y1Dr+y9xDKQqPwYXfeEQAJAuPnEIAIERaQAIbEpG2symmdkf0p4jTWb2GzPbbWYvm1mxt1JWFTOrN7PfmdlOM/t12vOkycweMrNX054jDWa2wMwGzaxv9Gdu2jMlYcpF2swaJfWrhj+ibmatkurdfZGkT+v/b5OsFSsl7XX3pZJmmdmX0h0nHWY2W9KatOdIUZOkX7p76+hPpT5IV1FTLtLuftLd50saTHuWFB2R9Pjo7Sn3z7AMuiX9fPRvENMlHUt3nNQ8Lmlz2kOkqEnSd8zsDTP7fbV+AVwt/gc+5bn7O+7+hpl9W9IZSdvTnqmS3P24u38saaekI+4+kPZMlWZmd0jaK2l/2rOk6F1JP3H3hZJmSfpqyvMkgkhPUWbWIekBSd909/+kPU8lmdkMM/uUpCWSmsysFr/4q13SrZJekPRlM/thyvOk4T1Jr467PTO1SRJEpKcgM/uspE2S2t3932nPk4IfSVrl7qclfSypMeV5Ks7d73D3VkmrJfW7+5Npz5SChyStNrM6SfMkvZXyPIkg0lPTGp39611+9FXt9WkPVGG/kLTezHZJGpaUT3kepONJSesk7ZH0krtX5aUfPnEIAIFxJg0AgRFpAAiMSANAYEQaAAIj0gAQGJEGgMD+C7uSoeXVDO67AAAAAElFTkSuQmCC\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 多数据并列\n",
    "x = np.arange(1,6) ##### 注意，这里不是[1,2,3,4,5]，而是一个列表生成式，因为后面要为每个x做平移\n",
    "y0 = [0,3,4,2,5]\n",
    "y1 = [2,4,1,6,3]\n",
    "y2 = [6,2,3,5,1]\n",
    "\n",
    "bar_width = 0.35\n",
    "tick_label = list('ABCDE')\n",
    "\n",
    "plt.bar(x, y1, width=bar_width, align='center',label='class A', alpha=0.5)\n",
    "plt.bar(x + bar_width, y2, width=bar_width, align='center',label='class B', alpha=0.5)\n",
    "plt.legend()\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## 间断条形图 broken_barh\n",
    "# 间断条形图主要是在条形图的基础上绘制，用来可视化定性数据的相同指标在时间维度上的指标值的变换情况\n",
    "# 实现定性数据的相同指标的变化情况的直观比较\n",
    "mpl.rcParams['font.sans-serif'] = ['SimHei']\n",
    "mpl.rcParams['axes.unicode_minus'] = False\n",
    "xrange_1 = [(30,100),(180, 50), (260, 70)] # 30,100表示起点为30， 沿着x轴正方向移动100个单位\n",
    "yrange_1 = (20,8) # 20,8 表示以20为起点，沿着y轴向上移动8个单位\n",
    "\n",
    "xrange_2 = [(60,90), (190, 20), (230, 30), (280, 60)]\n",
    "yrange_2 = (10, 8)\n",
    "plt.broken_barh(xrange_1, yrange_1, facecolors='#8da0cb',label = \"歌剧院A\")\n",
    "plt.broken_barh(xrange_2, yrange_2, facecolors='#fc8d62',label = \"歌剧院B\")\n",
    "plt.xlabel('演出时间')\n",
    "\n",
    "plt.xticks(np.arange(0, 361, 60))\n",
    "plt.yticks([15, 25], ['歌剧院A','歌剧院B'])\n",
    "plt.grid(axis='y', color='gray')\n",
    "plt.legend()\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## 阶梯图 step\n",
    "## 很像折线图，显示时序数据的波动周期规律\n",
    "x = np.linspace(0, 10,20)\n",
    "y = np.sin(x)\n",
    "plt.plot(x,y,label='y=sin(x)')\n",
    "plt.step(x,y,where='pre',label='y=step(sin(x))-pre')\n",
    "# plt.step(x,y,where='mid',label='y=step(sin(x))-mid')\n",
    "# plt.step(x,y,where='post',label='y=step(sin(x))-post')\n",
    "'''where: [ 'pre' | 'post' | 'mid' ]\n",
    "If 'pre' (the default), the interval from x[i] to x[i+1] has level y[i+1].\n",
    "\n",
    "If 'post', that interval has level y[i].\n",
    "\n",
    "If 'mid', the jumps in y occur half-way between the x-values.\n",
    "使用pre就是先竖直方向移动\n",
    "'''\n",
    "plt.legend()\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[94  1 57 93 76  9 93 65 60 38 63 53 65 80 19 93 48 48  9 52 98  4 38 78\n",
      " 30 11 53 44 25 29 46 32 45 28 92 42 16 81 36 19 43 66 79 38 40 78 40 37\n",
      " 11 52 36 18 44 58 64 39 38 50 92 22 49 27 48 46 43 10 83 86  7 15 98 17\n",
      " 65 37 46 46 63 84 71 95 70 23 49 52  5 30 39 81 11 58 41 23 75 55 71 11\n",
      " 22 91 30 75]\n",
      "[0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]\n",
      "11\n"
     ]
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## 堆叠直方图\n",
    "## stack=True\n",
    "score_1 = np.random.randint(0,100,100)\n",
    "score_2 = np.random.randint(0,100,100)\n",
    "print(score_2)\n",
    "\n",
    "x = [score_1, score_2]\n",
    "colors = ['#8dd3c7', '#bebada']\n",
    "labels = ['class A','class B']\n",
    "\n",
    "bins = range(0, 101, 10)\n",
    "print(list(bins))\n",
    "print(len(bins))\n",
    "plt.hist(x, \t# 输入数据\n",
    "\t\tbins=bins,  # bins的个数或者bins的边缘范围\n",
    "\t\tcolor=colors,\n",
    "\t\trwidth=10,\n",
    "\t\tstacked=True,   ### 堆叠直方图的关键\n",
    "\t\tlabel=labels)\n",
    "plt.xlabel(\"score\")\n",
    "plt.ylabel(\"class\")\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "## 案例 绘制内嵌环形饼图\n",
    "elements = ['面粉','砂糖','奶油','草莓酱','坚果']\n",
    "weight_1 = [40, 20, 15, 10, 15]\n",
    "weight_2 = [30, 25, 15, 20, 10]\n",
    "\n",
    "colormap = ['#e41a1c', '#377eb8', '#4daf4a', '#984ea3','#ff7f00']\n",
    "outer_colors = colormap\n",
    "inner_colors = colormap\n",
    "\n",
    "wedges_1, texts_1, autotexts_1 = plt.pie(weight_1,\n",
    "\tautopct=\"%3.1f%%\",\n",
    "\tradius=0.7,\n",
    "\tpctdistance=0.6,\n",
    "\tcolors=inner_colors,\n",
    "\ttextprops=dict(color='c'),\n",
    "\twedgeprops=dict(width=0.3,edgecolor='w'))\n",
    "wedges_2, texts_2, autotexts_2 = plt.pie(weight_2,\n",
    "\tautopct=\"%3.1f%%\",\n",
    "\tradius=1,\n",
    "\tpctdistance=0.8,\n",
    "\tcolors=inner_colors,\n",
    "\ttextprops=dict(color='c'),\n",
    "\twedgeprops=dict(width=0.3,edgecolor='w'))\n",
    "plt.legend(wedges_1,elements, fontsize=12,loc='center left', bbox_to_anchor=(1,0.5))\n",
    "\n",
    "plt.setp(autotexts_1,size=15,weight='bold')\n",
    "plt.setp(autotexts_2,size=15,weight='bold')\n",
    "plt.setp(texts_1, size=12)\n",
    "plt.title(\"两种配料表\")\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['font.sans-serif']=['SimHei']\n",
    "\n",
    "#数据集，x1,x2分别对应外部、内部百分比例\n",
    "x1=[20,30,15,20,15]\n",
    "x2=[30,25,15,20,10]\n",
    "\n",
    "#设置饼状图各个区块的颜色\n",
    "color=['aqua','linen','lightcoral','olive','gold']\n",
    "\n",
    "plt.pie(x1,autopct='%3.1f%%',radius=1,pctdistance=0.75,colors=color,wedgeprops=dict(linewidth=2,width=0.4,edgecolor='w'))\n",
    "plt.pie(x2,autopct='%3.1f%%',radius=0.6,pctdistance=0.7,colors=color,wedgeprops=dict(linewidth=2,width=0.6,edgecolor='w'))\n",
    "#图例\n",
    "legend_text=['面粉','砂糖','奶油','坚果','水']\n",
    "plt.legend(legend_text,title='配料表',loc='center right')#设置图例标题、位置\n",
    "plt.axis('equal')#设置坐标轴比例以显示为圆形\n",
    "\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2\n"
     ]
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## 箱线图\n",
    "## 用于多组定量数据的分布比较\n",
    "## 箱线图由一个箱体和箱须组成，第一四分位数，中位数、第二、三四分位数组成箱体\n",
    "## 箱顶之外的竖直可以理解为离群点\n",
    "test_1 = np.random.randn(5000)\n",
    "test_2 = np.random.randn(5000)\n",
    "test_list = [test_1, test_2]\n",
    "labels = [\"随机数生成器-1\",\"随机数生成器-2\"]\n",
    "colors = ['#793217', \"#218731\"]\n",
    "\n",
    "whis = 1.6\n",
    "width = 0.35\n",
    "\n",
    "bplot = plt.boxplot(test_list,whis=whis,widths=width, labels=labels, patch_artist=True, sym='o',medianprops = dict(linestyle='-.', linewidth=1, color='blue'))\n",
    "print(len(bplot['boxes']))\n",
    "# 这里的函数返回的是两个图像对象，通过使用zip将两个分别对应颜色进行匹配，就会变成元组的组合，然后使用对应的变量接收，然后进行设置\n",
    "for patch, color in zip(bplot['boxes'], colors):\n",
    "\tpatch.set(color = color);\n",
    "\n",
    "plt.ylabel(\"随机数值\")\n",
    "plt.title(\"随机数生成器抗干扰能力的稳定性比较\")\n",
    "plt.grid(axis='y', ls=':',lw=1, color='gray',alpha=0.4)\n",
    "plt.show()\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# fake up some data\n",
    "spread= np.random.rand(50) * 100\n",
    "center = np.ones(25) * 50\n",
    "flier_high = np.random.rand(10) * 100 + 100\n",
    "flier_low = np.random.rand(10) * -100\n",
    "data = np.concatenate((spread, center, flier_high, flier_low), 0)\n",
    "# basic plot\n",
    "bp = plt.boxplot(data, patch_artist=True,notch=True,widths = 0.15,vert=False)\n",
    "\n",
    "for box in bp['boxes']:\n",
    "    # change outline color\n",
    "    box.set(color='red', linewidth=2)\n",
    "    # change fill color\n",
    "    box.set(facecolor = 'green')\n",
    "    # change hatch\n",
    "    box.set(hatch = '/')\n",
    "\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 133,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1\n",
      "a\n",
      "m\n",
      "2\n",
      "b\n",
      "n\n",
      "3\n",
      "c\n",
      "z\n"
     ]
    }
   ],
   "source": [
    "for a,b ,c in  zip([1,2,3],['a','b','c'],['m','n','z']):\n",
    "    print(a)\n",
    "    print(b)\n",
    "    print(c)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 0 25 50 75]\n"
     ]
    }
   ],
   "source": [
    "pc = np.array([10,1,5,11,24,13,54,4,42,-3])\n",
    "print(np.arange(0,100,25))"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[-3.    4.25 10.5  21.25]\n"
     ]
    }
   ],
   "source": [
    "print(np.percentile(pc,np.arange(0,100,25)))\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## 误差棒图\n",
    "\n",
    "# 应用场景：通过抽检获得样本，对总体参数估计会由于样本的随机性导致估计值出现波动，\n",
    "# 因此需要用误差置信区间来表示对总体参数估计的可靠范围。\n",
    "\n",
    "# 误差棒图就可以很好地描述总体参数估计的置信区间。\n",
    "# 误差棒的计算方法可有很多种：单一数值、置信区间、标准差、标准误差等。\n",
    "# 可视化展示方式也有很多种：水平误差棒、垂直误差棒、对称误差棒、非对称误差棒等。\n",
    "x = np.linspace(0.1, 0.6, 10)\n",
    "y = np.exp(x)\n",
    "\n",
    "error = 0.05 + 0.15*x\n",
    "\n",
    "lower_error = error\n",
    "upper_error = error * 0.3\n",
    "\n",
    "error_limit = [lower_error, upper_error]\n",
    "\n",
    "plt.errorbar(x,y, # xy数据点的位置\n",
    "\tyerr=error_limit, # 单一数值的非对称形式误差范围\n",
    "\tfmt='o', # 数据点的标记样式和连接线样式\n",
    "\tecolor='y',  # 误差棒的线条颜色\n",
    "\telinewidth=4, # 误差棒的线宽\n",
    "\tms=5, # 数据点的大小\n",
    "\tmfc='c', # 数据点的颜色\n",
    "\tmec='r', # 数据点的边缘颜色\n",
    "\tcapsize=2,capthick=1 # 误差棒边界横杠大小\n",
    "\t)\n",
    "plt.xlim(0,0.7)\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## 案例一 带误差棒的柱状图\n",
    "# 使统计图形同时可以反映数据测量误差\n",
    "\n",
    "x = np.arange(5)\n",
    "y = [100, 82, 39, 92,43]\n",
    "std_err = [7, 2, 6, 10, 5]\n",
    "\n",
    "err_attribute = dict(elinewidth=2, ecolor='black', capsize=3)\n",
    "plt.bar(x, y, color='c',\n",
    "\twidth=0.6,\n",
    "\talign='center',\n",
    "\tyerr=std_err,\n",
    "\terror_kw=err_attribute,\n",
    "\ttick_label=list('ABCDE'))\n",
    "'''\n",
    "xerr : scalar or array-like, optional\n",
    "\tif not None, will be used to generate errorbar(s) on the bar chart default: None\n",
    "yerr : scalar or array-like, optional\n",
    "\tif not None, will be used to generate errorbar(s) on the bar chart default: None\n",
    "'''\n",
    "\n",
    "plt.title(\"不同芒果园种植区的单词收割量\")\n",
    "plt.xlabel('芒果种植园区')\n",
    "plt.ylabel('收割量')\n",
    "\n",
    "plt.grid(axis='y', linestyle=':', color='gray', alpha=0.4)\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 160,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## 案例3 带误差棒的多数据并列柱状图\n",
    "# 可以对比两组数据\n",
    "\n",
    "\n",
    "\n",
    "x = np.arange(5)\n",
    "y = [100, 82, 39, 92,43]\n",
    "y_2 = [83,92,100,53, 25]\n",
    "std_err = [7, 2, 6, 10, 5]\n",
    "std_err_2 = [6,5 ,10, 2,7 ]\n",
    "\n",
    "bar_width = 0.35\n",
    "err_attribute = dict(elinewidth=2, ecolor='black', capsize=3)\n",
    "\n",
    "# 第一组\n",
    "plt.bar(x, y, color='c',\n",
    "\twidth=bar_width,\n",
    "\talign='center',\n",
    "\tyerr=std_err,\n",
    "\terror_kw=err_attribute,\n",
    "\t# tick_label=list('ABCDE'),  # 后面统一制定x轴标签\n",
    "\tlabel='第一组')\n",
    "# 第二组\n",
    "plt.bar(x+bar_width,   # 并列摆放\n",
    "\ty_2, color='m',\n",
    "\twidth=bar_width,\n",
    "\talign='center',\n",
    "\tyerr=std_err_2,\n",
    "\terror_kw=err_attribute,\n",
    "\t# tick_label=list('ABCDE'),\n",
    "\tlabel='第二组')\n",
    "plt.xticks((x + bar_width//2), list('ABCDE'))\n",
    "\n",
    "plt.title(\"不同芒果园种植区的单词收割量\")\n",
    "plt.xlabel('芒果种植园区')\n",
    "plt.ylabel('收割量')\n",
    "\n",
    "plt.grid(axis='y', linestyle=':', color='gray', alpha=0.4)\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}